home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 34.zip
/
BS1 part 34
/
GFA basic training.adf
/
Sound
/
DIGISPIELEN+AENDERN.LST
< prev
next >
Wrap
File List
|
1989-06-01
|
2KB
|
68 lines
' Laden und Wiedergabe von digitalen-Schwingungen
' mit Veränderung
@lesen
@einschalten
@Ändern
@ausschalten
END
'
> PROCEDURE lesen
FILESELECT "Sample laden","Laden",":",sample$
IF sample$="" OR RIGHT$(sample$)=":"
PRINT "Kein Sample laden!"
END
ENDIF
OPEN "I",#1,sample$
laenge&=LOF(#1)
CLOSE #1
IF laenge&>65000
PRINT "Sampledatei zu lang"
END
ENDIF
speicheradr%=MALLOC(laenge&,&H2)
IF speicheradr%=0
PRINT "Speicher kann nicht reserviert werden!"
END
ENDIF
PRINT "Name: ";sample$
PRINT "Groesse: ";laenge&
PRINT "Adresse: ";HEX$(speicheradr%)
BLOAD sample$,speicheradr%
RETURN
> PROCEDURE einschalten
' Wiedergabe auf Kanal 0
DPOKE &HDFF096,1
LONG{&HDFF0A0}=speicheradr%
DPOKE &HDFF0A4,INT(laenge&/2)
DPOKE &HDFF0A6,100
DPOKE &HDFF0A8,64
DPOKE &HDFF096,&H8201
RETURN
> PROCEDURE ausschalten
' Wiedergabe aus
DPOKE &HDFF096,1
frei%=MFREE(speicheradr%,laenge&)
PRINT
PRINT "Frei:";frei%
RETURN
PROCEDURE Ändern
REPEAT
WHILE MOUSEK=1 ! Links gedrückt ?
IF sper&<=65535 ! Maximum erreicht ?
INC sper& ! Sample-Period erhöhen
ENDIF
DPOKE &HDFF0A6,sper& ! Neuen Wert übernehmen
WEND
'
WHILE MOUSEK=2 ! Rechts gedrückt ?
IF sper&>124 ! Minimum erreicht ?
DEC sper& ! Sample-Period erniedrigen
ENDIF
DPOKE &HDFF0A6,sper& ! Neuen Wert übergeben
WEND
'
' Ausgabe der aktuellen Sample-Period
PRINT AT(1,10);USING "#####",sper&," :Sample Period:"
UNTIL MOUSEK=3 ! Exit, wenn beide gedrückt sind
RETURN